Various techniques have been proposed and are currently in use for analyzing and compressing large data files, such as image data files. Image data files typically include streams of data descriptive of image characteristics, typically of intensities or other characteristics of individual pixel elements or pixels in a reconstructed image. In the medical field, for example, large image files are typically created during an image acquisition or encoding sequence, such as in an x-ray system, a magnetic resonance imaging system, a computed tomography imaging system, and so forth. The image data is then processed, such as to adjust dynamic ranges, enhance certain features shown in the image, and so forth, for storage, transmittal and display.
While image files may be stored in raw and processed formats, many image files are quite large, and would occupy considerable memory space. The increasing complexity of imaging systems also has led to the creation of very large image files, typically including more data as a result of the useful dynamic range of the imaging system and the size of the matrix of image pixels.
In addition to occupying large segments of available memory, large image files can be difficult or time consuming to transmit from one location to another. In a typical medical imaging application, for example, a scanner or other imaging device will typically create raw data which may be at least partially processed at the scanner. The data is then transmitted to other image processing circuitry, typically including a programmed computer, where the image data is further processed and enhanced. Ultimately, the image data is stored either locally at the system, or in a picture archiving and communications system (PACS) for later retrieval and analysis. In all of these data transmission steps, the large image data file must be accessed and transmitted from one device to another.
Compression techniques have been developed that apply various algorithms and approaches to conversion of original image data to a compressed form for transmission and storage. One such approach is based upon assignment of compressed data code by reference to a table, commonly referred to as a compression table. This approach is based on the probability (or the frequency) of occurrence of different levels, typically gray levels or intensity levels, for each pixel in an image, represented by corresponding binary values in the image data stream. In general, compression code table permits more frequently occurring values to be assigned a shorter compressed data code than less frequently occurring values. Compression ratios in such techniques may, however, be highly dependent upon the relative frequencies of occurrence of the values across the dynamic range of the image data.
There is a present need for an improved technique for compressing and decompressing image data which provided higher relative compression ratios in a computationally efficient manner. There is a particular need for a technique which can be applied to new and existing compression systems, and which can be adapted to various systems depending upon the characteristics of the images to be handled.